Large (or Bulk) data transfers dominate Internet traffic today. Examples of such data transfers include peer-to-peer file sharing, content distribution, remote backups and software updates. A recent study suggests that up to 90% of bytes traversing the Internet may be bulk data in nature. Bulk of this data is transferred between a sender and a receiver using point-to-point transport-level protocols such as TCP.
In today's Internet, packets of a point-to-point transport-level connection from one end-host to another often traverse a single network path (comprised of a set of routers and links). This can cause high load on some paths, while underutilization on others, thereby leading to lower throughput on several connections.
In general, the goal of a network architecture is to achieve high utilization, fairness of network resource allocation, and stability. A unipath network like the Internet cleanly separates routing and congestion control. Thus, fairness of network resource allocation simply reduces to a fair sending rate on a path independent of other paths. For example, a TCP-fair resource allocation simply means a sending rate inversely proportional to the round-trip time (RTT) and square root of the loss rate on the path. Other notions of fairness include max-min, proportional fairness, and the like. For example, a max-min fair allocation is an allocation that maximizes the minimum sending rate while satisfying link capacity constraints.
In a multipath network, fairness of resource allocation takes on an analogous network-wide meaning, and is defined over the aggregate sending rates of users in the system. Each user is a source-destination pair and has potentially multiple paths available. For example, informally, a max-min fair allocation is one that maximizes the minimum aggregate rate of a user in the network while satisfying link capacity constraints.
A utility-theoretic framework permits the generalization of unipath congestion controllers (e.g., TCP) and associated notions of fairness in a multipath network. See F. Kelly, A. Maulloo, and D. Tan, Rate Control in Communication Networks: Shadow Prices, Proportional Fairness and Stability, In Journal of the Operational Research Society, volume 49, 1998. This framework allows one to view different congestion controllers as distributed algorithms to optimize a global objective function defined in terms of individual utilities U(x) for each user as a function of his sending rate x. Different definitions of U(x) yield different kinds of fairness properties. The multipath scenario cleanly extends this framework by retaining well-understood utility functions (corresponding to different fairness schemes) with the unipath sending rate simply replaced by the aggregate multipath sending rate. A multipath congestion controller specifies how to control the rates on a set of paths to achieve the corresponding level of fairness of resource allocation.
Multipath routing and congestion control is a powerful architectural building block to improve utilization and fairness of resource allocation in a network, and end-to-end reliability. It would therefore be desirable to provide a multipath network architecture to support large data transfers as an edge service.
A recently proposed transport-level multipath solution, mTCP, modifies the network protocol stack at the end-hosts to utilize multiple paths. See M. Zhang, J. Lai, A. Krishnamurthy, L. Peterson, R. Wang, A Transport Layer Approach for Improving End-to-end Performance and Robustness Using Redundant Paths, In Proc. of Usenix Annual Technical Conference, June 2004. This approach has two problems: First, modifying the network stack (that is often implemented in the operating system) is a significant barrier to widespread use because of the reluctance of users to upgrade operating systems unless they are stable and reliable releases. Second, mTCP uses independent congestion control on each path that may not ensure fair allocation of network resources. The present invention involves defining a multipath network architecture that addresses the above two problems.